package com.haoze.nurse.service;

import com.haoze.common.response.Result;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface EmrNurseStatisticsService {

    /**
     * 返回出入量节点标记
     * @param type
     * @return
     */
    Result doStatistics(String type, String recordTime, String inpatNum);

    String inputOutputStatistics(String inpatNum, String recordTime, String statisticsType, String statisticsId,String recordType,String tplId);


    /**
     * 出入量总结
     * @param inpatNum 住院号
     * @param nodeTime 节点时间（每天7点）
     * @return
     */
    String inputOutputSummary(String inpatNum, Date nodeTime, String statisticsId);

    /**
     * 病历中插入统计时先删除受影响的现有统计记录
     * @param inpatNum
     * @param nodeTime
     */
    List<Map<String,String>> delBeforeInsert(String inpatNum, Date nodeTime);

    /**
     * 在病历明细中插入数据之后在统计表中插入统计数据
     * @param list
     * @param inpatNum
     * @param nodeTime
     * @param fileIndexDataId
     */
    void updateAllStatistics(List<Map<String,String>> list,String inpatNum,Date nodeTime, String fileIndexDataId);

    /**
     * 如果是新增病历模板时的护理统计，则直接新增统计记录到statistics表中
     * @param inpatNum
     * @param tplId
     * @param nodeTime
     * @param fileIndexDataId
     */
    void addAllstatistics(String inpatNum,String tplId, Date nodeTime, String fileIndexDataId);

    /**
     * 病历模板出入量总结勾选接口
     * @param inpatNum
     * @param startTime
     * @param endTime
     * @return
     */
    Result getInOutSummary(String inpatNum, String startTime,String endTime);
}
